package com.lmf.cloud.config;

import feign.Retryer;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

/**
 * @Description TODO
 * <p>
 * Copyright @2022 Shanghai Mise Co. Ltd.
 * All right reserved.
 * <p>
 * @Author LiuMingFu
 * @Date 2024/7/23 17:01
 */
@Configuration
public class FeignConfig {

    /**
     * feign 重试机制配置
     *
     * @author LiuMingFu
     * @date 2024/7/23
     */
    @Bean
    public Retryer myRetryer() {
        //不走重试机制
        return Retryer.NEVER_RETRY;
        
        /**
         * 第一个参数：重试间隔是每次失败之后会等待100毫秒再次发起重试请求的间隔时间
         * 第二个参数：最大间隔时间是每次重试的间隔时间累加起来不能超过这个最大间隔时间，如果超过了就不会在重试，哪怕还没有达到配置的重试次数
         * 第三个参数：最大重试次数，重试次数会受最大间隔时间和重试间隔时间影响，如果累计间隔时间超过这个最大间隔时间就不会在重试
         * 
         * 示例： 重试间隔100毫秒  累计最大间隔时间1秒  重试3次
         */
//        return new Retryer.Default(100, 1000, 3);
    }
}
